Learn R Programming

WGCNA (version 1.25-1)

Inline display of progress: Inline display of progress

Description

These functions provide an inline display of pregress.

Usage

initProgInd(leadStr = "..", trailStr = "", quiet = !interactive())
updateProgInd(newFrac, progInd, quiet = !interactive())

Arguments

leadStr
character string that will be printed before the actual progress number.
trailStr
character string that will be printed after the actual progress number.
quiet
can be used to silence the indicator for non-interactive sessions whose output is typically redirected to a file.
newFrac
new fraction of progress to be displayed.
progInd
an object of class progressIndicator that encodes previously printed message.

Value

  • Both functions return an object of class progressIndicator that holds information on the last printed value and should be used for subsequent updates of the indicator. Note that excessive use of updateProgInd may lead to a performance penalty if a substantial amount of CPU time has to be invested into console output. See examples.

Details

A progress indicator is a simple inline display of progress intended to satisfy impatient users during lengthy operations. The function initProgInd initializes a progress indicator (at zero); updateProgInd updates it to a specified fraction.

Examples

Run this code
max = 10;
prog = initProgInd("Counting: ", "done");
for (c in 1:max)
{
  Sys.sleep(0.25);
  prog = updateProgInd(c/max, prog);
}
printFlush("");

printFlush("Example 2:");
prog = initProgInd();
for (c in 1:max)
{
  Sys.sleep(0.25);
  prog = updateProgInd(c/max, prog);
}
printFlush("");

## Example of a significant slowdown:

## Without progress indicator:

system.time( {a = 0; for (i in 1:10000) a = a+i; } )

## With progress indicator, some 100 times slower:

system.time( 
{
  prog = initProgInd("Counting: ", "done");
  a = 0; 
  for (i in 1:10000) 
  {
    a = a+i; 
    prog = updateProgInd(i/10000, prog);
  }
} 
)

Run the code above in your browser using DataLab